package pet_pavilion.yushougeums.repository;

import cn.tedu.yushouge.commons.pojo.po.UserLoginInfoPO;

/**
 * 处理用户数据缓存的访问接口
 */
public interface IUserJwtRepository {

    /**
     * 保存用户的登录信息
     *
     * @param jwt              当前用户的JWT
     * @param userLoginInfoPO 用户的登录信息
     * @param jwtDuration      用户的JWT有效时长
     */
    void saveLoginInfo(String jwt, UserLoginInfoPO userLoginInfoPO, long jwtDuration);

    /**
     * 根据用户的JWT获取登录信息
     *
     * @param jwt 当前用户的JWT
     * @return 用户的登录信息，如果没有匹配的数据，将返回null
     */
    UserLoginInfoPO getLoginInfo(String jwt);

    /**
     * 删除用户登录信息
     *
     * @param jwt 当前用户的JWT
     * @return 是否成功删除
     */
    Boolean delete(String jwt);

}
